package hotel.compare.oversea.mapper.switchs;

import hotel.base.oversea.dto.switchs.SwitchMasterHotelInfoDto;
import hotel.base.oversea.repository.MyMapper;
import hotel.compare.oversea.entity.switchs.SwitchMasterHotelInfo;
import hotel.compare.oversea.entity.switchs.dto.SwitchMasterHotelInfoBaseDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author lmf
 * @Date 2020/5/14 16:09
 **/
public interface SwitchMasterHotelInfoMapper extends MyMapper<SwitchMasterHotelInfo> {
    /**
     * 根据美团酒店校验携程对应酒店信息
     * @param mtLat 美团纬度
     * @param mtLng 美团经度
     * @param cityName 美团城市名称
     * @param distance 坐标精度范围
     * @return
     */
    SwitchMasterHotelInfoBaseDto selectMasterHotelByMeituan(@Param("mtLat") String mtLat, @Param("mtLng") String mtLng, @Param("cityName") String cityName, @Param("distance") int distance);

    /**
     * 根据携程母酒店id,将校验成功的数据转移至switch_master_hotel_info_compare表
     * @param masterHotelId 携程母酒店id
     * @return
     */
    Integer insertCompareByMasterHotelId(@Param("masterHotelId") Integer masterHotelId);


    /**
     * 根据携程母酒店id,将校验成功的数据转移至switch_master_hotel_info_compare表
     * @param list 携程母酒店id
     * @return
     */
    Integer insertBatchCompareByMasterHotelIds(@Param("list") List list);

    /**
     * 根据携程母酒店id删除数据
     * @param masterHotelId 携程母酒店id
     * @return
     */
    Integer deleteHotelInfoByMasterHotelId(@Param("masterHotelId") Integer masterHotelId);

    /**
     * 查询未校验的携程酒店
     * @return
     */
    List<SwitchMasterHotelInfo> findSwitchHotelCompare();

    /**
     * <H1>根据ID获取携程酒店信息</H1>
     *
     * @param switchHotelId	实体对象
     * @return hotel.base.oversea.dto.switchs.SwitchMasterHotelInfoDto
     * @author HuangT
     * @Date 2020/8/17 16:30
    */
    SwitchMasterHotelInfoDto getHotelInfoBySwitchHotelId(Integer switchHotelId);
}
